package com.jimikongjian.dao;

import com.jimikongjian.models.Album;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by fuxiuyang on 17/2/20.
 */
public interface IAlbum {

    /**
     * 通过相册id获取相册信息
     * @param id
     * @return List<Album>
     */
    public List<Album> getAlbumListById(@Param("id") int id);

    /**
     * 通过相册id获取相册信息
     * @param id
     * @return Album
     */
    public  Album getAlbumById(@Param("id") int id);

    /**
     * 通过空间的id号，获取该空间的相册列表
     * @return List<Album>
     */
    public List<Album> getAlbumListByRoomId(@Param("roomId") int roomId,
                                            @Param("start") int start,
                                            @Param("length") int length);

    /**
     * 通过用户的id号，获取该用户所创建的所有的相册的列表
     * @return List<Album>
     */
    public List<Album> getAlbumListByUserId(@Param("userId") int userId);

    /**
     * 创建一个新的相册
     * @param album
     */
    public void insertAlbum(Album album);

    /**
     * 更新相册内容
     * @param album
     */
    public void updateAlbum(Album album);

    /**
     * 更新相册中图片的数量
     * @param album
     */
    public void updateAlbumPhotosCount(Album album);

    /**
     * 更新相册的封面
     * @param album
     */
    public void updateAlbumCover(Album album);

    /**
     * 删除相册
     * @param album
     */
    public void deleteAlbum(Album album);

}
